1. Field of the Invention
The invention relates to data access methods and storage subsystems thereof. In particular, the invention relates to data access methods and storage subsystems without waiting a read timeout.
2. Description of the Related Art
A redundant array of independent disks (RAID) is a disk subsystem comprising a plurality of hard disks and a disk controller for improving access efficiency, providing fault-tolerance ability, or both. RAID systems improve access efficiency by using disk striping technology storing data by bytes or groups of bytes across multiple disks respectively, so that data read/write I/O requests are able to be simultaneously performed in multiple disks in parallel. It is also able to provide fault-tolerance ability by using mirroring technology and/or disk striping with parity technology. Mirroring technology stores the same data in two disks in which one acts as a backup disk. About disk striping with parity technology, for example, a RAID system with two user disks and one parity disk is able to use XOR operations to calculate the user data of the two user disks and then to store the result (i.e. the parity data) in the parity disk. When one of the data disks malfunctions, loses data, or has no response due to other reasons, the disk controller will automatically use the data stored in the other two normal disks and associated with the data to be read, for example, the relevant data located on the same stripe with the data to be read, to generate or rebuild the redundant data identical to the to-be-read data.
In conventional data access methods, after a read request is issued to a target disk drive, it needs to wait for a period until a request timeout occurs, and the redundant data is then generated to recover lost data for responding the read request. However, if the target disk drive does not immediately respond because of media errors or other factors, the conventional methods still need to wait for a period until the read request is timed out before proceeding to the process of reading the associated data to generate the redundant data. It will induce unnecessary waiting time. Thus, a more efficient data access method, control device, and system for reducing unnecessary system waiting time are needed.